package com.ctvit.cch.core.pojo.vo.creative;

import java.util.Collection;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.utils.DictUtils;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 脚本场景列表 VO
 *
 * @author heyingcheng
 * @date 2025/10/29
 */
@Getter
@Setter
@ToString
public class CreativeScriptSceneListVO {

    /**
     * 场景ID
     */
    @Excel(name = "场景ID", cellType = ColumnType.STRING)
    private String sceneId;

    /**
     * 脚本ID
     */
    private String scriptId;

    /**
     * 选题ID
     */
    private String topicId;

    /**
     * 场景索引
     */
    @Excel(name = "场景序号", cellType = ColumnType.NUMERIC)
    private Integer sceneIndex;

    /**
     * 场景名称
     */
    @Excel(name = "场景名称")
    private String sceneName;

    /**
     * 场景时长 (秒)
     */
    @Excel(name = "场景时长 (秒)", cellType = ColumnType.NUMERIC)
    private Integer sceneDuration;

    /**
     * 场景描述
     */
    @Excel(name = "场景描述")
    private String sceneDescription;

    /**
     * 情节描述
     */
    @Excel(name = "情节描述")
    private String eventDescription;

    /**
     * 涉及角色信息数组
     */
    private Collection<String> characters;

    /**
     * 涉及角色文本
     */
    @Excel(name = "涉及角色", cellType = ColumnType.STRING)
    private String charactersText;

    /**
     * 角色对话
     */
    @Excel(name = "角色对话")
    private String characterDialogue;

    /**
     * 旁白内容
     */
    @Excel(name = "旁白内容")
    private String sidebarContent;

    public void setCharacters(Collection<String> characters) {
        this.characters = characters;
        this.charactersText = String.join(DictUtils.SEPARATOR, characters);
    }

}
